1. Technical Field
The present invention relates in general to databases in computer systems. More specifically, the present invention relates to the field of automatic switching between databases in a computer system.
2. Background Art
The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely sophisticated devices that may be found in many different settings. Computer systems typically include a combination of hardware (e.g., semiconductors, circuit boards, etc.) and software (e.g., computer programs). As advances in semiconductor processing and computer architecture push the performance of the computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
As the sophistication of computer systems has grown, the tasks they are assigned to perform have grown in complexity and importance. Large sophisticated computer systems today run the most important aspects of most businesses. For example, computer systems today are used to track sales, expenses, inventory, receipts and cash flow of most retail establishments. Likewise, computer systems run the reservation, ticketing and scheduling of most airlines. Because of the critical nature of their function, the dependability of these types of computer systems is extremely important. If such a computer system is inoperable, even for a short time, serious problems and large costs can result.
Various techniques are used to improving the reliability of these computer systems. One technique involves the use of a specialized database computer that stores all the critical data needed by the computer system. For example, this database could include all the inventory, sales records, employee records, and cash flow records of a retail establishment. Processes running in the computer system access the data on the specialized database to perform their assigned function. Because any failure in the specialized database results in all processes on the computer system stopping, the specialized database computer is typically designed to be as reliable as possible. Additionally, a backup database is commonly used to even further increase system reliability. The backup database is typically a mirror replication of the original database. When the original database fails, the backup is used in its place. Unfortunately, switching the processes in the computer system from the original database to the backup database typically requires that they be stopped and manually restarted with the backup database selected.
Stopping and restarting all the processes on a complex business computer system can be extremely time consuming. This can result in significant down time. Additionally, processes may have to redo significant amounts of work that was lost when the original database goes down. An additional problem occurs when the users of the computer system are themselves unable to stop and restart the jobs. This can occur when the computer system actually running the processes is in a remote location from the users.
Without a system and method to automatically switch from a current database to a backup database without manually restarting the affected jobs, companies that rely on critical database systems will continue to suffer excessive costs and downtime when a database failure occurs.